<style>
.facility-edit-container {
  display: flex;
  flex-direction: column;
  height: 100vh;
  background: linear-gradient(135deg, #f7f8fa, #eef0f5);
}

.form-header {
  background: linear-gradient(to right, #fff, #f9fafc);
  padding: 20rpx 30rpx;
  border-bottom: 1px solid #f0f2f5;
  box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.05);
}

.header-title {
  font-size: 32rpx;
  font-weight: bold;
  color: #3F7BFC;
}

.form-scroll {
  flex: 1;
}

.form-content {
  padding: 20rpx 30rpx;
}

.form-section {
  background: linear-gradient(to bottom, #fff, #f9fafc);
  border-radius: 16rpx;
  padding: 30rpx;
  margin-bottom: 30rpx;
  box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.08);
  transform: translateY(0);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.form-section:active {
  transform: translateY(2rpx);
  box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.05);
}

.section-title {
  font-size: 30rpx;
  font-weight: bold;
  color: #3F7BFC;
  margin-bottom: 30rpx;
  display: block;
  position: relative;
  padding-left: 20rpx;
}

.section-title::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 6rpx;
  height: 24rpx;
  background: linear-gradient(to bottom, #4B89FD, #3F7BFC);
  border-radius: 3rpx;
}

.form-item {
  margin-bottom: 30rpx;
}

.form-label {
  font-size: 28rpx;
  color: #333;
  margin-bottom: 20rpx;
  display: block;
}

.required {
  color: #ff5252;
}

.form-input {
  width: 100%;
  height: 80rpx;
  border: 1px solid #ddd;
  border-radius: 10rpx;
  padding: 0 20rpx;
  font-size: 28rpx;
  background-color: #fff;
  transition: all 0.3s ease;
}

.form-input:focus, .form-textarea:focus {
  border-color: #3F7BFC;
  box-shadow: 0 0 0 2px rgba(63, 123, 252, 0.1);
}

.form-textarea {
  width: 100%;
  height: 200rpx;
  border: 1px solid #ddd;
  border-radius: 10rpx;
  padding: 20rpx;
  font-size: 28rpx;
  background-color: #fff;
  transition: all 0.3s ease;
}

.type-selector {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -10rpx;
}

.type-item {
  width: calc(33.33% - 20rpx);
  margin: 10rpx;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 20rpx 0;
  border: 1px solid #ddd;
  border-radius: 10rpx;
  background-color: #fff;
  transition: all 0.3s ease;
  transform: scale(1);
}

.type-item:active {
  transform: scale(0.97);
  box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.05);
}

.type-item.active {
  border-color: #3F7BFC;
  background: linear-gradient(to bottom, rgba(63, 123, 252, 0.1), rgba(63, 123, 252, 0.05));
  box-shadow: 0 2rpx 8rpx rgba(63, 123, 252, 0.1);
}

.type-icon {
  width: 80rpx;
  height: 80rpx;
  margin-bottom: 10rpx;
  transition: transform 0.3s ease;
}

.type-item:active .type-icon {
  transform: scale(1.05);
}

.type-name {
  font-size: 24rpx;
  color: #333;
}

.location-display {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 10rpx;
  padding: 20rpx;
  transition: all 0.3s ease;
}

.location-display:active {
  background-color: #f9fafc;
  border-color: #ccc;
}

.location-text {
  flex: 1;
  font-size: 28rpx;
  color: #333;
}

.change-btn {
  margin: 0;
  padding: 10rpx 20rpx;
  font-size: 24rpx;
  background: linear-gradient(135deg, #f5f7fa, #f0f2f5);
  color: #666;
  border-radius: 10rpx;
  transition: all 0.3s ease;
  transform: scale(1);
}

.change-btn:active {
  transform: scale(0.95);
  background: linear-gradient(135deg, #f0f2f5, #e8e8e8);
}

.location-btn {
  width: 100%;
  background: linear-gradient(to right, #f7f8fa, #f0f2f5);
  border: 1px solid #ddd;
  color: #666;
  font-size: 28rpx;
  padding: 20rpx 0;
  border-radius: 10rpx;
  transition: all 0.3s ease;
  transform: translateY(0);
}

.location-btn:active {
  transform: translateY(2rpx);
  background: linear-gradient(to right, #f0f2f5, #e8e8e8);
}

.uploaded-images {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -10rpx;
}

.uploaded-image-item {
  position: relative;
  width: calc(25% - 20rpx);
  margin: 10rpx;
  aspect-ratio: 1;
  transform: scale(1);
  transition: transform 0.3s ease;
  overflow: hidden;
  border-radius: 10rpx;
  box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.1);
}

.uploaded-image-item:active {
  transform: scale(0.97);
}

.uploaded-image {
  width: 100%;
  height: 100%;
  border-radius: 10rpx;
  transition: transform 0.3s ease;
}

.uploaded-image-item:hover .uploaded-image {
  transform: scale(1.05);
}

.delete-image {
  position: absolute;
  top: -15rpx;
  right: -15rpx;
  width: 40rpx;
  height: 40rpx;
  line-height: 36rpx;
  text-align: center;
  border-radius: 50%;
  background: linear-gradient(135deg, #FF5A5A, #F56C6C);
  color: #fff;
  font-size: 32rpx;
  box-shadow: 0 2rpx 8rpx rgba(245, 108, 108, 0.3);
  z-index: 2;
  transform: scale(1);
  transition: transform 0.3s ease;
}

.delete-image:active {
  transform: scale(0.9);
}

.upload-btn {
  width: calc(25% - 20rpx);
  margin: 10rpx;
  aspect-ratio: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border: 1px dashed #ddd;
  border-radius: 10rpx;
  background-color: #fff;
  transition: all 0.3s ease;
  transform: scale(1);
}

.upload-btn:active {
  transform: scale(0.95);
  background-color: #f9fafc;
  border-color: #ccc;
}

.icon-camera {
  font-size: 48rpx;
  color: #999;
  margin-bottom: 10rpx;
  transition: all 0.3s ease;
}

.upload-btn:active .icon-camera {
  color: #666;
}

.upload-text {
  font-size: 24rpx;
  color: #999;
  transition: all 0.3s ease;
}

.upload-btn:active .upload-text {
  color: #666;
}

.upload-hint {
  font-size: 24rpx;
  color: #999;
  margin-top: 10rpx;
}

.status-display {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 80rpx;
  border: 1px solid #ddd;
  border-radius: 10rpx;
  padding: 0 20rpx;
  font-size: 28rpx;
  color: #333;
  background-color: #fff;
  transition: all 0.3s ease;
}

.status-display:active {
  background-color: #f9fafc;
  border-color: #ccc;
}

.form-actions {
  display: flex;
  padding: 20rpx 30rpx;
  background: linear-gradient(to bottom, #fff, #f9fafc);
  border-top: 1px solid #f0f2f5;
  box-shadow: 0 -2rpx 8rpx rgba(0, 0, 0, 0.05);
}

.cancel-btn, .submit-btn {
  flex: 1;
  margin: 0 10rpx;
  padding: 20rpx 0;
  font-size: 30rpx;
  border-radius: 50rpx;
  transition: all 0.3s ease;
  transform: scale(1);
}

.cancel-btn:active, .submit-btn:active {
  transform: scale(0.97);
}

.cancel-btn {
  background: linear-gradient(135deg, #f5f7fa, #f0f2f5);
  color: #666;
  box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.1);
}

.cancel-btn:active {
  background: linear-gradient(135deg, #f0f2f5, #e8e8e8);
  box-shadow: 0 1rpx 4rpx rgba(0, 0, 0, 0.05);
}

.submit-btn {
  background: linear-gradient(135deg, #4B89FD, #3F7BFC);
  color: #fff;
  box-shadow: 0 2rpx 8rpx rgba(63, 123, 252, 0.25);
}

.submit-btn:active {
  background: linear-gradient(135deg, #3F7BFC, #3062D6);
  box-shadow: 0 1rpx 4rpx rgba(63, 123, 252, 0.15);
}
</style> 